From: Jasper St. Pierre Date: Thu, 26 Sep 2013 21:11:45 +0000 (-0400) Subject: app-system: Put back support for the installed-changed signal X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~3064 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=e10d2a68f3d00d9df7ba37d77feb5356989ecafa;p=gnome-shell.git app-system: Put back support for the installed-changed signal Use the new GAppInfoMonitor that Ryan added to glib to know when the set of apps has changed. https://bugzilla.gnome.org/show_bug.cgi?id=711631 --- diff --git a/src/shell-app-system.c b/src/shell-app-system.c index 476290994..d9c57e0fb 100644 --- a/src/shell-app-system.c +++ b/src/shell-app-system.c @@ -71,10 +71,20 @@ static void shell_app_system_class_init(ShellAppSystemClass *klass) g_type_class_add_private (gobject_class, sizeof (ShellAppSystemPrivate)); } +static void +installed_changed (GAppInfoMonitor *monitor, + gpointer user_data) +{ + ShellAppSystem *self = user_data; + + g_signal_emit (self, signals[INSTALLED_CHANGED], 0, NULL); +} + static void shell_app_system_init (ShellAppSystem *self) { ShellAppSystemPrivate *priv; + GAppInfoMonitor *monitor; self->priv = priv = G_TYPE_INSTANCE_GET_PRIVATE (self, SHELL_TYPE_APP_SYSTEM, @@ -86,6 +96,10 @@ shell_app_system_init (ShellAppSystem *self) (GDestroyNotify)g_object_unref); priv->startup_wm_class_to_id = g_hash_table_new (g_str_hash, g_str_equal); + + monitor = g_app_info_monitor_get (); + g_signal_connect (monitor, "changed", G_CALLBACK (installed_changed), self); + installed_changed (monitor, self); } static void